package com.foftact.stockpe;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 股票估值数据模型类
 * 对应数据库表：stock_pe
 */
public class StockPE {
    private Long id;             // 主键ID
    private String securityCode; // 证券代码
    private String securityName; // 证券名称
    private Date tradeDate;      // 交易日期
    private String indicatorType; // 指标类型
    private BigDecimal peTTM;    // 市盈率TTM(倍)
    private BigDecimal roeTTM;   // 近1-4季度净资产收益率和(%)
    private BigDecimal roeTTMLast2; // 近2-5季度净资产收益率和(%)
    private BigDecimal roeTTMLast5; // 近5-8季度净资产收益率和(%)
    private BigDecimal roeTTMQuarterly; // ROE_TTM_QUARTERLY = ROE_TTM / ROE_TTM_LAST2
    private BigDecimal roeTTMYearly; // ROE_TTM_YEARLY = ROE_TTM / ROE_TTM_LAST5
    private Date createTime;     // 创建时间
    private Date updateTime;     // 更新时间
    
    // 近8个季度的原始ROE数据
    private BigDecimal roeLast1Rate; // 第1个季度ROE率
    private String roeLast1Date;     // 第1个季度日期
    private BigDecimal roeLast2Rate; // 第2个季度ROE率
    private String roeLast2Date;     // 第2个季度日期
    private BigDecimal roeLast3Rate; // 第3个季度ROE率
    private String roeLast3Date;     // 第3个季度日期
    private BigDecimal roeLast4Rate; // 第4个季度ROE率
    private String roeLast4Date;     // 第4个季度日期
    private BigDecimal roeLast5Rate; // 第5个季度ROE率
    private String roeLast5Date;     // 第5个季度日期
    private BigDecimal roeLast6Rate; // 第6个季度ROE率
    private String roeLast6Date;     // 第6个季度日期
    private BigDecimal roeLast7Rate; // 第7个季度ROE率
    private String roeLast7Date;     // 第7个季度日期
    private BigDecimal roeLast8Rate; // 第8个季度ROE率
    private String roeLast8Date;     // 第8个季度日期

    // getter和setter方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSecurityCode() {
        return securityCode;
    }

    public void setSecurityCode(String securityCode) {
        this.securityCode = securityCode;
    }

    public String getSecurityName() {
        return securityName;
    }

    public void setSecurityName(String securityName) {
        this.securityName = securityName;
    }

    public Date getTradeDate() {
        return tradeDate;
    }

    public void setTradeDate(Date tradeDate) {
        this.tradeDate = tradeDate;
    }

    public String getIndicatorType() {
        return indicatorType;
    }

    public void setIndicatorType(String indicatorType) {
        this.indicatorType = indicatorType;
    }

    public BigDecimal getPeTTM() {
        return peTTM;
    }

    public void setPeTTM(BigDecimal peTTM) {
        this.peTTM = peTTM;
    }

    public BigDecimal getRoeTTM() {
        return roeTTM;
    }

    public void setRoeTTM(BigDecimal roeTTM) {
        this.roeTTM = roeTTM;
    }

    public BigDecimal getRoeTTMLast2() {
        return roeTTMLast2;
    }

    public void setRoeTTMLast2(BigDecimal roeTTMLast2) {
        this.roeTTMLast2 = roeTTMLast2;
    }

    public BigDecimal getRoeTTMLast5() {
        return roeTTMLast5;
    }

    public void setRoeTTMLast5(BigDecimal roeTTMLast5) {
        this.roeTTMLast5 = roeTTMLast5;
    }

    public BigDecimal getRoeTTMQuarterly() {
        return roeTTMQuarterly;
    }

    public void setRoeTTMQuarterly(BigDecimal roeTTMQuarterly) {
        this.roeTTMQuarterly = roeTTMQuarterly;
    }

    public BigDecimal getRoeTTMYearly() {
        return roeTTMYearly;
    }

    public void setRoeTTMYearly(BigDecimal roeTTMYearly) {
        this.roeTTMYearly = roeTTMYearly;
    }



    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public BigDecimal getRoeLast1Rate() {
        return roeLast1Rate;
    }

    public void setRoeLast1Rate(BigDecimal roeLast1Rate) {
        this.roeLast1Rate = roeLast1Rate;
    }

    public String getRoeLast1Date() {
        return roeLast1Date;
    }

    public void setRoeLast1Date(String roeLast1Date) {
        this.roeLast1Date = roeLast1Date;
    }

    public BigDecimal getRoeLast2Rate() {
        return roeLast2Rate;
    }

    public void setRoeLast2Rate(BigDecimal roeLast2Rate) {
        this.roeLast2Rate = roeLast2Rate;
    }

    public String getRoeLast2Date() {
        return roeLast2Date;
    }

    public void setRoeLast2Date(String roeLast2Date) {
        this.roeLast2Date = roeLast2Date;
    }

    public BigDecimal getRoeLast3Rate() {
        return roeLast3Rate;
    }

    public void setRoeLast3Rate(BigDecimal roeLast3Rate) {
        this.roeLast3Rate = roeLast3Rate;
    }

    public String getRoeLast3Date() {
        return roeLast3Date;
    }

    public void setRoeLast3Date(String roeLast3Date) {
        this.roeLast3Date = roeLast3Date;
    }

    public BigDecimal getRoeLast4Rate() {
        return roeLast4Rate;
    }

    public void setRoeLast4Rate(BigDecimal roeLast4Rate) {
        this.roeLast4Rate = roeLast4Rate;
    }

    public String getRoeLast4Date() {
        return roeLast4Date;
    }

    public void setRoeLast4Date(String roeLast4Date) {
        this.roeLast4Date = roeLast4Date;
    }

    public BigDecimal getRoeLast5Rate() {
        return roeLast5Rate;
    }

    public void setRoeLast5Rate(BigDecimal roeLast5Rate) {
        this.roeLast5Rate = roeLast5Rate;
    }

    public String getRoeLast5Date() {
        return roeLast5Date;
    }

    public void setRoeLast5Date(String roeLast5Date) {
        this.roeLast5Date = roeLast5Date;
    }

    public BigDecimal getRoeLast6Rate() {
        return roeLast6Rate;
    }

    public void setRoeLast6Rate(BigDecimal roeLast6Rate) {
        this.roeLast6Rate = roeLast6Rate;
    }

    public String getRoeLast6Date() {
        return roeLast6Date;
    }

    public void setRoeLast6Date(String roeLast6Date) {
        this.roeLast6Date = roeLast6Date;
    }

    public BigDecimal getRoeLast7Rate() {
        return roeLast7Rate;
    }

    public void setRoeLast7Rate(BigDecimal roeLast7Rate) {
        this.roeLast7Rate = roeLast7Rate;
    }

    public String getRoeLast7Date() {
        return roeLast7Date;
    }

    public void setRoeLast7Date(String roeLast7Date) {
        this.roeLast7Date = roeLast7Date;
    }

    public BigDecimal getRoeLast8Rate() {
        return roeLast8Rate;
    }

    public void setRoeLast8Rate(BigDecimal roeLast8Rate) {
        this.roeLast8Rate = roeLast8Rate;
    }

    public String getRoeLast8Date() {
        return roeLast8Date;
    }

    public void setRoeLast8Date(String roeLast8Date) {
        this.roeLast8Date = roeLast8Date;
    }

    @Override
    public String toString() {
        return "StockPE{" +
                "id=" + id +
                ", securityCode='" + securityCode + '\'' +
                ", securityName='" + securityName + '\'' +
                ", tradeDate=" + tradeDate +
                ", indicatorType='" + indicatorType + '\'' +
                ", peTTM=" + peTTM +
                ", roeTTM=" + roeTTM +
                ", roeTTMLast2=" + roeTTMLast2 +
                ", roeTTMLast5=" + roeTTMLast5 +
                ", roeTTMQuarterly=" + roeTTMQuarterly +
                ", roeTTMYearly=" + roeTTMYearly +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                '}';
    }
}